﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CreditoAutorizado.Dados.Entidades;
using CreditoAutorizado.Servico;

namespace CreditoAutorizado
{
    public partial class CadastroDebito : System.Web.UI.Page
    {
        private Cliente _clienteSelecionado;

        protected void Page_Load(object sender, EventArgs e)
        {
            int idCliente = int.Parse(Request.QueryString["CLienteId"].ToString());

            _clienteSelecionado = Fachada.GetInstancia().ObterClientePorId(idCliente);

            if (_clienteSelecionado != null)
            {
                CarregarDados();
            }            
        }

        protected void BtCadastrar1_Click(object sender, EventArgs e)
        {
            ccJoin.ValidateCaptcha(txtCaptchar.Text);
            if (!ccJoin.UserValidated)
            {
                lblErrorCapatchar.Visible = true;
                return;
            }
            else
            {
                lblErrorCapatchar.Visible = false;
                Salvar();
            }
        }

        private void CarregarDados()
        {
            lblCelular.Text = _clienteSelecionado.Celular;
            lblCpf.Text = _clienteSelecionado.Cpf;
            lblNome.Text = _clienteSelecionado.Nome;
            lblTelefone.Text = _clienteSelecionado.Telefone;
        }

        private void MontarDados(ref Debito debito)
        {
            debito.Descricao = txtDescricao.Text;
            debito.DataEmissao = DateTime.Parse(txtDataCompra.Text);
            debito.DataPrevistaPagamento = DateTime.Parse(txtDataPagamento.Text);
            debito.Cliente = _clienteSelecionado;
            debito.Valor = decimal.Parse(txtValor.Text);
        }

        private void Salvar()
        {
            if (Validado())
            {
                Debito debito = new Debito();

                MontarDados(ref debito);

                Fachada.GetInstancia().Inserir(debito);

                Response.Redirect(URLPages.ExibirDetalhes+"?ClienteId="+_clienteSelecionado.ClienteId);
                //ClientScript.RegisterStartupScript(typeof(Page), "script", "<script language=JavaScript>window.back()</script>");
            }
        }

        private bool Validado()
        {
            bool validado = true;


            return validado;
        }
    }
}